package net.sxnic.workflow.task.dao;

import java.util.List;

import net.sxinfo.core.spring25.Dao;
import net.sxnic.workflow.task.Task;

/**
 * 
 * Comments: TaskDao 接口 <p>
 * Author：孙宇飞<p> 
 * Create Date：2009-10-14<p>
 *
 *
 */
public interface TaskDao extends Dao<Task, String> {
	
	/**
	 * 查询指定 entityId的 由 fromAssignee 在节点 fromNode 创建的所有任务。撤销时用
	 * @param entityId 实体Id
	 * @param fromNode 当前任务所在的节点名
	 * @param fromAssignee 当前任务的执行者
	 * @return
	 */
	List<Task> findByFromNodeAssignee(String entityId,String fromNode,String fromAssignee);
	
	/**
	 * 查询指定实体Id，指定节点，指定人员的任务列表
	 * @param entityId 实体Id
	 * @param nodeName 节点名
	 * @param assignee 任务承办人
	 * @return 任务列表
	 */
	List<Task> getTasks(String entityId,String nodeName,String assignee);
	
	/**
	 * 查询第一个任务
	 * @param entityId
	 * @return
	 */
	Task findFirstTask(String entityId);
}
